package 多线程.场景;

import org.junit.Test;

import java.util.Arrays;
import java.util.List;

/**
 * Description
 *
 * @Author: SunAo
 * @Date: 2022/4/11 14:05
 */
public class 多线程变有序单线程 {

    @Test
    public void 变单线程(){
        List<String> list = Arrays.asList("A","B","C","D","E","F","G");
        // 无加锁情况下，输出是无序的。
//        list.stream().forEach(a -> {
//            new Thread(()->{
//                System.out.println(a);
//            }).start();
//        });

        Object obj = new Object();
        // 加锁变有序
        list.stream().forEach(a->{
            new Thread(()->{
                synchronized (obj){
                    System.out.println(a);
                }
            }).start();
        });
    }
}
